Code
import pandas as pd
import numpy as np
import seaborn as sns
from sklearn.model_selection import train_test_split
from sklearn.discriminant_analysis import QuadraticDiscriminantAnalysis
from sklearn.metrics import confusion_matrix, ConfusionMatrixDisplay, classification_report, RocCurveDisplay
from sklearn.preprocessing import StandardScaler, label_binarize
from sklearn.metrics import roc_auc_score, accuracy_score
import matplotlib.pyplot as plt
from sklearn.utils import compute_class_weight
from sklearn.feature_selection import VarianceThreshold
from imblearn.over_sampling import SMOTE
import warnings
# dealing with an SkLearn deprecated warning
warnings.filterwarnings("ignore", category=FutureWarning, module="sklearn")
# reading in data
religion = pd.read_csv("../data/religion_full_currel.csv")
religion = religion[religion['CURREL'] != 900000]
# Christian, non-christian, unaffiliated
grouping_map = {
1000: 'Protestant',
10000: 'Catholic',
20000: 'Mormon',
30000: 'Orthodox Christian',
40001: 'Jehovahs Witness',
40002: 'Other Christian',
50000: 'Jewish',
60000: 'Muslim',
70000: 'Buddhist',
80000: 'Hindu',
90001: 'Other world Religions',
90002: 'Other faiths',
100000: 'Unaffiliated'
}
religion['CURREL_NEW'] = religion['CURREL'].map(grouping_map)